
import { AxiosResponse } from "axios"
import service from "/@/utils/request"
import { ReturnPage } from "/@/_types/api/return-type"
/**上传文件接口 */
export const saveUploadFileUrl = "/rest/org/FileAttachmentService/saveUploadFile"
/**下载文件接口 */
export const downloadFileUrl = "/rest/org/FileAttachmentService/downloadFile?fileId="

/**
 * 查询附件参数类型
 */
type AttachmentQueryParm = {
    /**分页参数 一页几行 */
    rows: number,
    /**分页参数 第几页*/
    page: number,
    /**项目编号 */
    projectid: string
    /**分页参数 对应上传compId */
    filecategory: string,
    /**业务id 对应上传busiId*/
    businessid: string,
    /**业务类型 对应上传 itemType */
    businesstype: string,
    /**是否删除 默认给0*/
    delflag: number,
    /**是否为root目录 有可能存在不同的子文件夹*/
    isRoot?: boolean,
    /**如果进入子文件夹需要携带这个参数 */
    parentid?: string
}

/**
 * 查询附件信息
 * @param attachmentQueryParm 
 * @returns 
 */
export function queryAllAttachment(attachmentQueryParm: AttachmentQueryParm): Promise<AxiosResponse<ReturnPage>> {
    let url = "/rest/tool/FilesQueryExtService/pageQueryAll"
    return service.get(url, { params: attachmentQueryParm })
}

/**
 * 下载文件接口
 * @param fileId 文件id
 */
export function downloadFile(fileId: string) {
    let url = downloadFileUrl + fileId
    return service.get(url, { responseType: 'blob', timeout: 120000 })
}

/**
 * 上传文件接口
 * @param fileId 文件id
 */

export function uploadFile(formData: FormData) {
    return service.post(saveUploadFileUrl, formData)
}